﻿using System;

namespace _007.数组插入
{
	internal class Program
	{
		static void Main(string[] args)
		{
			// 得到一个有序的数组
			string str = Console.ReadLine();
			string[] strArray = str.Split(' ');
			int[] intArray = new int[strArray.Length];
			for (int i = 0; i < strArray.Length; i++)
			{
				int number = Convert.ToInt32(strArray[i]);
				intArray[i] = number;
			}
			// 用户输入的数字
			int x = Convert.ToInt32(Console.ReadLine());
			// 找到需要插入索引的位置
			int index = 0;
			// 是否找到
			bool find = false;
			for (int i = 0; i < intArray.Length - 1; i++)
			{
				if (intArray[i] <= x && x <= intArray[i + 1])
				{
					index = i;
					find = true;
					break;
				}
			}
			// 是否是最小值
			if(x <= intArray[0])
			{
				index = -1;
			}
			else
			{
				// 在数组中没有找到下标 那么就是最大值
				if (!find)
				{
					index = intArray.Length - 1;
				}
			}
			// 把数字插入到有序的数组中
			int[] intArrayNew = new int[intArray.Length + 1];
			for (int i = 0; i < index + 1; i++)
			{
				intArrayNew[i] = intArray[i];
			}
			intArrayNew[index + 1] = x;
			for (int i = index + 1; i < intArrayNew.Length - 1; i++)
			{
				intArrayNew[i+1] = intArray[i];
			}
			foreach (int i in intArrayNew)
			{
				Console.Write(i+ " ");
			}

		}
	}
}
